Digital rights management license identification

ABSTRACT

A digital rights management license provides access to a content key that can be used to decrypt an encrypted digital content item. The digital rights management license also includes a policy that defines circumstances in which the content key is allowed to decrypt the encrypted digital content item. Further, the digital rights management license includes a license identifier. The license identifier is a digital fingerprint of at least a portion of the policy of the license.

BACKGROUND

Digital content has become ubiquitous. Music, video, textual works, graphical works, games, and countless other types of content are saved in various digital formats. While digital formats offer many benefits, the ease with which exact duplicates can be made poses some challenges. In particular, because digital duplicates can be made without losing any quality and/or fidelity, it can be difficult to prevent the unauthorized copying and distribution of digital content.

SUMMARY

A digital rights management license is disclosed. The digital rights management license provides access to a content key that can be used to decrypt an encrypted digital content item. The digital rights management license also includes a policy that defines circumstances in which the content key is allowed to decrypt the encrypted digital content item. Further, the digital rights management license includes a license identifier. The license identifier is a digital fingerprint of at least a portion of the policy of the license.

This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a process flow of an example method of building a license for implementing digital rights management.

FIG. 2 schematically shows a digital rights management system in accordance with an embodiment of the present disclosure.

DETAILED DESCRIPTION

The present disclosure is directed to digital rights management and licenses that are used to help implement digital rights management. In order to limit the unauthorized distribution and use of digital content, digital content may be encrypted with a cryptographic content key so that it can be used only if decrypted with a corresponding symmetric cryptographic content key. The content key that can decrypt a particular digital content item may itself be encrypted with a public cryptographic key that corresponds to a private cryptographic key that is issued to a particular user, device, domain, or other limited sample of potential content consumers. In this way, only the content consumers having access to an appropriate private cryptographic key may decrypt the cryptographic content key and thereby decrypt the encrypted digital content item.

FIG. 1 shows a process flow of an example method 10 of building a license for implementing digital rights management. At 12, method 10 includes assigning a content key to the license. The content key assigned to the license can be configured to decrypt content data encrypted by a symmetric cryptographic content key. The content key may itself be encrypted with a public key so that only a device with a corresponding symmetric private key can decrypt the content key and thereby decrypt the content data. Alternatively, the content key may itself be encrypted with a public key so that only a device belonging to a domain having access to a corresponding symmetric private key can decrypt the content key and thereby decrypt the content data.

At 14, method 10 includes assigning a policy to the license. The policy assigned to the license may define circumstances in which the content key is allowed to decrypt content data encrypted by the symmetric cryptographic content key.

For example, the policy may include an indication of the content data to which the license applies. The license may apply to a particular audio file, video file, document, game, ringtone, or virtually any other digital data. The policy may set forth which digital data is covered by the license.

The policy may additionally or alternatively include an indication of when the license expires. The license may be set to expire at a specified date, after a specified number of times the digital content is opened or copied, after a specified duration that the digital content is used, or according to any other suitable schedule.

The policy may additionally or alternatively include an indication of to whom the license is issued. The license may be issued to a particular user, to a domain that may include one or more users allowed to access the licensed digital content on one or more different devices, to a particular device, or to any other suitable set of content consumers.

The policy may additionally or alternatively include an indication of what types of rights are granted by the license. As nonlimiting examples, the policy may indicate whether the license allows playback of a particular digital content item, whether the license allows copying of a particular digital content item, whether the license allows execution of DRM encrypted software, and/or whether the license provides a ringtone right that grants permission to play media in response to an incoming call.

The policy may also include information, instructions, and/or logic other than that described above.

At 16, method 10 includes finding a digital fingerprint of a portion of the policy. A variety of different techniques may be used to find the digital fingerprint of that portion of the policy. The digital fingerprint should have a unique correspondence to the portion of the policy from which it is generated in that other licenses having the same policy will yield the same digital fingerprint, whereas other licenses having different policies will yield different digital fingerprints.

In some embodiments, the digital fingerprint may be found by applying a deterministic sequence of finite instructions to a portion of the policy. As a nonlimiting example, the relevant portion of the policy may be input into a hash function, which may output a digital fingerprint including a fixed-length string.

In some embodiments, one or more portions of the policy may be ignored when finding the digital fingerprint. For example, any portions of the policy that do not ultimately change the rights granted by the license may be ignored. As a nonlimiting example, the policy may include a time and date the license was issued, and such information may be ignored when finding the digital fingerprint.

At 18, method 10 includes assigning the digital fingerprint to the license. The digital fingerprint may be assigned to the license as an identifier for the license. Because the digital fingerprint is the same for all licenses having the same policy, all licenses having the same policy will have the same license identifier. Accordingly, it is very easy to identify when two or more licenses are the same, because both licenses will have the same license identifier.

This is in direct contrast to other license naming conventions in which two or more licenses may grant the same rights (i.e., have the same policy), but have different license identifiers. For example, an alternative license naming strategy may be to use a Globally Unique Identifier (GUID) every time a license is created. However, such a strategy would result in a first license having a different license identifier than a second license having the same policy, even if the second license is created only moments after the first license.

Ensuring that licenses having the same policy also have the same license identifier makes it much easier to avoid issuing superfluous licenses to a particular user, device, domain, or other set of content consumers.

However, in some scenarios, the identifier assigned to a license may be randomized. For example, a license identifier may be randomized if the license grants consumable and/or cumulative rights (e.g., play counts). Although the actual policy for two licenses may be the same (e.g., both allow 5 play counts), combining the licenses is effectively a new policy (e.g., the licenses collectively allow 10 play counts). Therefore, in such circumstances, a user has extra rights by having both licenses, and each license can have different license identifiers.

Method 10 may further include assigning a content key identifier to the license. The content key identifier assigned to a license may identify which content key is assigned to the license. Digital content items may also include a content key identifier that indicates which content key is needed to decrypt that digital content item. In this way, the content key identifier from the digital content item can be matched to a content key identifier from one or more licenses in order to find which licenses apply to that digital content item.

FIG. 2 schematically shows a digital content management system 20 in accordance with an embodiment of the present disclosure. The digital content management system includes a library 22 of encrypted digital content items (e.g., digital content item 24 a, digital content item 24 b, and digital content item 24 n). Library 22 may include virtually any number of digital content items, and the digital content items included in library 22 may be virtually any different type of digital content items.

As discussed above, the digital content items may be encrypted so as to deter the unauthorized distribution and use of the digital content items. As such, for each encrypted digital content item, digital content management system 20 may include content keys configured to decrypt the encrypted digital content items. As shown in FIG. 2, such content keys (e.g., content key 26 a and content key 26 b) may be assigned to licenses (e.g., license 28 a, license 28 b, license 28 c, and license 28 n) that correspond to particular content items.

The digital content items and the licenses may both include content key identifiers (e.g., content key identifier 30 a and content key identifier 30 b) that allow licenses to be matched to corresponding content items. In the illustrated embodiment, license 28 a and license 28 n both correspond to content item 24 a, as shown by matching content key identifier 30 a; and license 28 b and license 28 c both correspond to content item 24 b, as shown by matching content key identifier 30 b.

As discussed above, each license may also include a policy (e.g., policy 32 a, policy 32 b, and policy 32 c). The policy can define circumstances in which a particular one of the one or more content keys is allowed to decrypt an encrypted digital content item, as discussed above. Licenses that apply to different digital content items should have different policies (e.g., policy 32 a and policy 32 b), while licenses that apply to the same digital content items may have the same policy (e.g., policy 32 a from license 28 a and policy 32 a from license 28 n), or different policies (e.g., policy 32 b from license 28 b and policy 32 c from license 28 c). In other words, two or more licenses may exist with the same policies, and/or two or more licenses may exist for the same digital content items although such licenses have different policies.

Finally, each license may also include a license identifier (e.g., license identifier 34 a, license identifier 34 b, and license identifier 34 c). The license identifier is a digital fingerprint of a portion of the policy for that license, and thus all licenses having the same relevant policy portions will have the same license identifiers (e.g., license identifier 34 a from license 28 a and license identifier 34 a from license 28 n).

It should be understood that the configurations and/or approaches described herein are exemplary in nature, and that these specific embodiments or examples are not to be considered in a limiting sense, because numerous variations are possible. The specific routines or methods described herein may represent one or more of any number of processing strategies. As such, various acts illustrated may be performed in the sequence illustrated, in other sequences, in parallel, or in some cases omitted. Likewise, the order of the above-described processes may be changed.

The subject matter of the present disclosure includes all novel and nonobvious combinations and subcombinations of the various processes, systems and configurations, and other features, functions, acts, and/or properties disclosed herein, as well as any and all equivalents thereof. 

1. A method of building a license for implementing digital rights management, the method comprising: assigning a content key to the license, the content key configured to decrypt content data encrypted by a symmetric cryptographic content key; assigning a policy to the license, the policy defining circumstances in which the content key is allowed to decrypt content data encrypted by the symmetric cryptographic content key; finding a digital fingerprint of a portion of the policy; and assigning the digital fingerprint to the license as an identifier for the license.
 2. The method of claim 1, where finding a digital fingerprint includes applying a deterministic sequence of finite instructions to a portion of the policy.
 3. The method of claim 2, where the deterministic sequence of finite instructions includes a hash function.
 4. The method of claim 2, where the deterministic sequence of finite instructions outputs a digital fingerprint including a fixed-length string.
 5. The method of claim 1, where the policy includes an indication of the content data to which the license applies.
 6. The method of claim 1, where the policy includes an indication of when the license expires.
 7. The method of claim 1, where the policy includes an indication of to whom the license is issued.
 8. The method of claim 1, where the policy includes an indication of whether the license allows playback.
 9. The method of claim 1, where the policy includes an indication of whether the license allows copying.
 10. The method of claim 1, where the content key is itself encrypted with a public key so that only a device with a corresponding symmetric private key can decrypt the content key and thereby decrypt the content data.
 11. The method of claim 1, where the content key is itself encrypted with a public key so that only a device belonging to a domain having access to a corresponding symmetric private key can decrypt the content key and thereby decrypt the content data.
 12. The method of claim 1, further comprising assigning a content key identifier to the license, the content key identifier identifying which content key is assigned to the license.
 13. A method of building a license for implementing digital rights management, the method comprising: assigning a policy to the license, the policy defining circumstances in which a content key is allowed to decrypt content data encrypted by a symmetric cryptographic content key; hashing a digital fingerprint of a portion of the policy; and assigning the digital fingerprint to the license as an identifier for the license.
 14. The method of claim 13, where the policy includes an indication of the content data to which the license applies.
 15. The method of claim 13, where the policy includes an indication of when the license expires.
 16. The method of claim 13, where the policy includes an indication of to whom the license is issued.
 17. The method of claim 13, where the policy includes an indication of whether the license allows playback.
 18. The method of claim 13, where the policy includes an indication of whether the license allows copying.
 19. The method of claim 13, further comprising assigning a content key identifier to the license, the content key identifier identifying which content key is assigned to the license.
 20. A digital rights management system, comprising: a library of encrypted digital content items; for each encrypted digital content item, one or more content keys configured to decrypt that encrypted digital content item; and one or more licenses including a policy and a license identifier, the policy defining circumstances in which a particular one of the one or more content keys is allowed to decrypt an encrypted digital content item, and the license identifier identifying that license with a digital fingerprint of a portion of the policy. 